The present invention relates generally to a new algorithm for controlling a half-toning process when generating output in preparation for printing. More specifically, the present invention relates an algorithm for modulating the strength of printer half-tone screening based on an initial assessment of the tonal value of the region being reproduced.
Generally in the prior art, printers create images using a combination of ink from a limited color palette by overlying the available colors in manner that creates the appearance of much broader range of colors. For example, most color printers have either three or four different colors available for printing wherein a three color printer includes three heads for printing cyan, yellow and magenta inks and a four color printer includes four heads for printing cyan, yellow, magenta and black. The printer then utilizes the available ink colors, in varying combinations to produce a broad range of composite colors.
In this context, it should be appreciated by one skilled in the art, that any particular ink supply, such as a transfer ribbon or ink tank, only has one ink available for use in a printing operation and is accordingly only capable of printing one shade of color no matter how much of the ink is transferred from the ink supply to the media. Therefore, in order to create various shades or intensities of any given color, the printer utilizes a form of visual deception known as half-toning. In the half-toning process, two approaches exist for varying the appearance of the dots in the printed output. In one approach, the printer controls the intensity of the color by controlling the actual size of each of the dots that are transferred. In this approach, as more ink is applied, a larger dot is produced and as less ink is applied, a smaller dot is generated.
In a second approach, the printer divides the image into an array of virtual dots, each of which is formed from an array of individual physical dots, each of which has a constant size. In this approach, the printer controls the size of the virtual dot by varying the number and pattern of physical dots printed within the virtual dot. As can be appreciated, in this particular method, the appearance of the virtual dot is fully reliant on the array of printed dots within the virtual dot and consistent dot size is critical to producing consistent print output. Any variation in the size of physical dot within the virtual dot would produce a slight variation in the overall density depicted by the virtual dot.
Accordingly, even though a color printer typically only has three colors, namely, cyan, yellow and magenta, any number of other colors can be created by overlying a half-tone print of each of the colors wherein controlling the size of the virtual dots controls the relative intensity level of each color. In turn, varying the ink transferred in order to change the physical size of the dot or adjusting the number and pattern of the dots printed within a virtual dot controls the size of the virtual dots.
In the prior art, two methods have been utilized for the conversion of images from a true color image to a printable halftone image. The first method is generally classified as ordered screening, where groups of physical dots are placed into a pattern or cluster to occupy a small region referred to as a virtual dot. In this method, the value of the colors over a certain region are assessed and then represented as a virtual dot having a size that represents the intensity of the original color in the grid square being screened. For illustration purposes, FIG. 1 depicts a simple example of the half-toning process using the ordered screening method. Printing an image of solid magenta onto the media is easy because the printer includes a magenta transfer ribbon. All the printer has to do is fill the image on the media with magenta ink. When printing a medium or light shade of magenta onto the media, the process becomes more complicated because the printer does not have a light magenta ribbon. To print a light magenta color, the printer must simulate it using the magenta ink supply. By controlling the size of the dots of magenta ink that are transferred, lighter colors are simulated. FIG. 1 depicts a printed image including a medium shade of magenta at reference 2 and a light shade of magenta at reference 6. In the medium shade print 2, rather than filling the page with magenta ink, the printer creates a virtual dot 4 that is comprised of an array of clustered physical dots 5 that represent a reduced density of magenta ink to simulate a lighter shade of magenta. In this manner, when the printer transfers virtual dots 4 that are reduced in size, (virtual or actual) some of the original background color of the media remains exposed. In this manner, the viewer's eye sees the mix of small magenta dots 4 and the background color and perceives the overall mix as a medium shade of magenta. To make an even lighter shade of magenta, as seen at reference 6, the virtual dots 8 simply must be smaller in size and/or fewer in number, as represented by the smaller cluster of physical dots 9, thereby allowing more of the background color to show through the magenta ink. This method produces a highly consistent representation and reduces the effects of aberrations, such as dot gain, giving the printer a broader dynamic range. The disadvantage of this method is that a limited number of fixed colors are available across a tonal range, resulting in a staircase effect when printing a gradient. Further, the clustering generally results in a lower effective output resolution because by clustering the dots within regions, the definition of small or detailed features tends to become blurred or lost.
The second method is a modified form of error diffusion, which represents each pixel by a physical printer dot of its own. While this method greatly improves resolution over clustering, the effect of dot gain (i.e. the impact of adjacent printed dots on one another) dramatically increases in darker tonal regions, saturating the media quickly and ultimately limiting the overall dynamic range of the printer. The benefits to this method however are seen in lighter tonal regions, wherein definition and detail are greatly maintained. Further, before the saturation point is reached, the range of reproducible colors is greater, resulting in the elimination of the stepping appearance seen in the screening algorithms. FIG. 2 illustrates a darker tonal region 10 and a lighter tonal region 12 printed with the error diffusion method. In this method, a decision is made whether or not to turn on a discrete physical dot based on a threshold value. The actual value of the tonal difference between a pixel and the threshold value used to determine the on or off state is then transferred forward to the next pixel being analyzed thereby increasing or decreasing the probability that that pixel would be turned on. This forward distribution of the error is “diffused” throughout the tonal field thereby creating a representation of the actual desired tonal value. It can be seen however that when utilizing this method, worming and random patterns can be seen to arise.
There is therefore a need for a half-toning algorithm that allows smooth representation of gradient tones while providing high definition light tonal values and greater dynamic range for the rendering of deep tonal values. There is a further need for a half-toning algorithm that operates in real time, thereby reducing the time required for calculating and producing the required printer commands.